﻿2026-08-08T19:20:04.1186819Z ##[group]Run python -m ruff check \
2026-08-08T19:20:04.1187399Z [36;1mpython -m ruff check \[0m
2026-08-08T19:20:04.1187844Z [36;1m  scripts/ci_portfolio_phase3_gate.py \[0m
2026-08-08T19:20:04.1188342Z [36;1m  src/jarvis_finance/api/main.py \[0m
2026-08-08T19:20:04.1188830Z [36;1m  src/jarvis_finance/api/routers/overview.py \[0m
2026-08-08T19:20:04.1189236Z [36;1m  src/jarvis_finance/api/schemas/portfolio_data.py \[0m
2026-08-08T19:20:04.1189696Z [36;1m  src/jarvis_finance/api/schemas/portfolio_performance.py \[0m
2026-08-08T19:20:04.1190164Z [36;1m  src/jarvis_finance/api/schemas/portfolio_policy.py \[0m
2026-08-08T19:20:04.1190599Z [36;1m  src/jarvis_finance/api/schemas/performance_activation.py \[0m
2026-08-08T19:20:04.1191042Z [36;1m  src/jarvis_finance/api/schemas/reconciliation.py \[0m
2026-08-08T19:20:04.1191410Z [36;1m  src/jarvis_finance/api/security.py \[0m
2026-08-08T19:20:04.1191726Z [36;1m  src/jarvis_finance/cli/main.py \[0m
2026-08-08T19:20:04.1192050Z [36;1m  src/jarvis_finance/config/settings.py \[0m
2026-08-08T19:20:04.1192442Z [36;1m  src/jarvis_finance/ledger/cost_basis.py \[0m
2026-08-08T19:20:04.1192790Z [36;1m  src/jarvis_finance/ledger/performance.py \[0m
2026-08-08T19:20:04.1193139Z [36;1m  src/jarvis_finance/market/providers.py \[0m
2026-08-08T19:20:04.1193466Z [36;1m  src/jarvis_finance/quality/freshness.py \[0m
2026-08-08T19:20:04.1193792Z [36;1m  src/jarvis_finance/quality/git_safety.py \[0m
2026-08-08T19:20:04.1194159Z [36;1m  src/jarvis_finance/services/crypto_market_recovery.py \[0m
2026-08-08T19:20:04.1194792Z [36;1m  src/jarvis_finance/services/performance_activation.py \[0m
2026-08-08T19:20:04.1195761Z [36;1m  src/jarvis_finance/services/portfolio_data.py \[0m
2026-08-08T19:20:04.1196159Z [36;1m  src/jarvis_finance/services/portfolio_performance.py \[0m
2026-08-08T19:20:04.1196564Z [36;1m  src/jarvis_finance/services/portfolio_policy.py \[0m
2026-08-08T19:20:04.1196965Z [36;1m  src/jarvis_finance/services/reconciliation_snapshot.py \[0m
2026-08-08T19:20:04.1197407Z [36;1m  src/jarvis_finance/services/truewealth_productization.py \[0m
2026-08-08T19:20:04.1197822Z [36;1m  src/jarvis_finance/services/truewealth_service.py \[0m
2026-08-08T19:20:04.1198218Z [36;1m  src/jarvis_finance/services/truewealth_valuation.py \[0m
2026-08-08T19:20:04.1198602Z [36;1m  src/jarvis_finance/services/transfer_pairing.py \[0m
2026-08-08T19:20:04.1198953Z [36;1m  src/jarvis_finance/storage/database.py \[0m
2026-08-08T19:20:04.1199295Z [36;1m  src/jarvis_finance/storage/migrations.py \[0m
2026-08-08T19:20:04.1199630Z [36;1m  tests/conftest.py \[0m
2026-08-08T19:20:04.1199984Z [36;1m  tests/unit/test_api_write_security.py \[0m
2026-08-08T19:20:04.1200308Z [36;1m  tests/unit/test_git_safety.py \[0m
2026-08-08T19:20:04.1200698Z [36;1m  tests/unit/test_portfolio_data_ingestion_reconciliation.py \[0m
2026-08-08T19:20:04.1201141Z [36;1m  tests/unit/test_portfolio_performance_foundation.py \[0m
2026-08-08T19:20:04.1201536Z [36;1m  tests/unit/test_portfolio_policy_foundation.py \[0m
2026-08-08T19:20:04.1201970Z [36;1m  tests/unit/test_reconciliation_snapshot_foundation.py \[0m
2026-08-08T19:20:04.1202342Z [36;1m  tests/unit/test_settings.py \[0m
2026-08-08T19:20:04.1202701Z [36;1m  tests/unit/test_sprint20d_truewealth_productization.py \[0m
2026-08-08T19:20:04.1203111Z [36;1m  tests/unit/test_sprint20d_truewealth_valuation.py \[0m
2026-08-08T19:20:04.1203505Z [36;1m  tests/unit/test_sprint20e_crypto_market_recovery.py \[0m
2026-08-08T19:20:04.1203884Z [36;1m  tests/unit/test_transfer_pairing_v2.py[0m
2026-08-08T19:20:04.1253565Z shell: /usr/bin/bash -e {0}
2026-08-08T19:20:04.1253898Z env:
2026-08-08T19:20:04.1254177Z   PYTHONPATH: src
2026-08-08T19:20:04.1254420Z   JARVIS_FINANCE_ENV: test
2026-08-08T19:20:04.1254810Z   JARVIS_FINANCE_DB_PATH: /tmp/financemanager-phase3-controls/finance.sqlite3
2026-08-08T19:20:04.1255625Z   JARVIS_FINANCE_RUNTIME_DIR: /tmp/financemanager-phase3-controls/runtime
2026-08-08T19:20:04.1256121Z   JARVIS_FINANCE_CI_ROOT: /tmp/financemanager-phase3-migration
2026-08-08T19:20:04.1256830Z   JARVIS_FINANCE_WRITE_MODE: disabled
2026-08-08T19:20:04.1257166Z   pythonLocation: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-08T19:20:04.1257593Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib/pkgconfig
2026-08-08T19:20:04.1258020Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-08T19:20:04.1258400Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-08T19:20:04.1258783Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-08T19:20:04.1259177Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib
2026-08-08T19:20:04.1259509Z ##[endgroup]
2026-08-08T19:20:04.1901774Z All checks passed!
